package face.pay.entity;


import face.pay.util.bean.annotation.NotBind;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

@Data
public class MchApplymentUpgradeInfo {

    @NotBind
    private Integer id;

    @NotBind
    private Integer oemId;

    @NotNull(message = "商户用户ID不能为空")
    @NotBind
    private Integer userId;


    //小微商户号
    @NotEmpty(message = "小微商户号不能为空")
    private String sub_mch_id;


    //主体类型
    @NotEmpty(message = "主体类型不能为空")
    private String organization_type;


    //营业执照扫描件
    @NotEmpty(message = "营业执照扫描件不能为空")
    private String business_license_copy;


    //营业执照注册号
    @NotEmpty(message = "营业执照注册号不能为空")
    private String business_license_number;


    //商户名称
    @NotEmpty(message = "商户名称不能为空")
    private String merchant_name;


    //注册地址
    @NotEmpty(message = "注册地址不能为空")
    private String company_address;


    //经营者姓名/法定代表人
    @NotEmpty(message = "经营者姓名/法定代表人不能为空")
    private String legal_person;


    //营业期限
    @NotEmpty(message = "营业期限不能为空")
    private String business_time;

    /**
     * //营业执照类型
     * 1762-已三证合一    1763-未三证合一
     * 若营业执照上的营业执照注册号为18位统一社会信用代码，请选择“已三证合一”，否则请选择“未三证合一”
     */
    @NotEmpty(message = "营业执照类型不能为空")
    private String business_licence_type;


    //商户简称
    @NotEmpty(message = "商户简称不能为空")
    private String merchant_shortname;


    //费率结算规则ID
    @NotEmpty(message = "费率结算规则ID不能为空")
    private String business;

    /**
     * //经营场景
     * 1721-线下  1837-公众号  1838-小程序  1724-APP  1840-PC网站
     * 可多选，至少选择1个
     */
    @NotEmpty(message = "经营场景不能为空")
    private String business_scene;


    //签约二维码
    @NotBind
    public String sign_url;

    //签约状态描述
    @NotBind
    public String applyment_state_desc;

    /**
     CHECKING:资料校验中
     ACCOUNT_NEED_VERIFY：待账户验证
     AUDITING:审核中
     REJECTED:已驳回
     NEED_SIGN:待签约
     FINISH:完成
     FROZEN:已冻结
     */
    @NotBind
    public String applyment_state;

    //签约结果详情
    @NotBind
    public String audit_detail;


    @NotBind
    private String createdTime;
    @NotBind
    private String updatedTime;
}
